package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ly.common.core.domain.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;

/**
 * <p>
 * 收款退款单
 * </p>
 * @author WuZH
 * @since 2024-08-04
 */
@Getter
@Setter
@TableName ("erp_king_finance_receipt_refund_info")
@ApiModel (value = "KingReceiptRefundEntity对象", description = "收款退款单")
public class KingFinanceReceiptRefundEntity extends BaseVo {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty ("id")
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    @ApiModelProperty ("所属公司，当前登录公司")
    @TableField ("dept_id")
    private String deptId;

    @ApiModelProperty ("单据类型")
    @TableField ("doc_type_code")
    private String docTypeCode;

    @ApiModelProperty ("收款单位类型;BD_Supplier：供应商；BD_Customer：客户；BD_Department：部门；BD_Empinfo：员工；FIN_OTHERS：其他往来单位；BD_BANK：银行；ORG_Organizations：组织机构")
    @TableField ("receipt_dept_type")
    private String receiptDeptType;

    @ApiModelProperty ("单据编码")
    @TableField ("doc_no")
    private String docNo;

    @ApiModelProperty ("付款组织")
    @TableField ("pay_company_id")
    private String payCompanyId;

    @ApiModelProperty ("结算组织")
    @TableField ("settlement_company_id")
    private String settlementCompanyId;

    @ApiModelProperty ("销售组织")
    @TableField ("sale_company_id")
    private String saleCompanyId;

    @ApiModelProperty ("收款单位；根据收款单位类型查对应接口")
    @TableField ("receipt_dept_id")
    private String receiptDeptId;

    @ApiModelProperty ("业务时间")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @TableField ("business_time")
    private Date businessTime;

    @ApiModelProperty ("币别,select走字典")
    @TableField ("currency_code")
    private String currencyCode;

    @ApiModelProperty ("往来单位类型")
    @TableField ("transaction_company_type")
    private String transactionCompanyType;

    @ApiModelProperty ("应退金额")
    @TableField ("cope_refund_money")
    private String copeRefundMoney;

    @ApiModelProperty ("实退金额")
    @TableField ("actual_refund_money")
    private String actualRefundMoney;

    @ApiModelProperty ("销售部门")
    @TableField ("sale_dept_id")
    private String saleDeptId;

    @ApiModelProperty ("往来单位,客户列表")
    @TableField ("transaction_company_id")
    private String transactionCompanyId;

    @ApiModelProperty ("销售员")
    @TableField ("sale_user_id")
    private String saleUserId;

    @ApiModelProperty ("期望付款日期")
    @TableField ("expected_pay_time")
    private Date expectedPayTime;

    @ApiModelProperty ("备注")
    @TableField ("remarks")
    private String remarks;

    @ApiModelProperty ("退款金额")
    @TableField ("refund_money")
    private String refundMoney;

    @ApiModelProperty ("退款金额本位币")
    @TableField ("refund_money_currency")
    private String refundMoneyCurrency;

    @ApiModelProperty ("应退金额本位币")
    @TableField ("cope_refund_money_currency")
    private String copeRefundMoneyCurrency;

    @ApiModelProperty ("实退金额本位币")
    @TableField ("actual_refund_money_currency")
    private String actualRefundMoneyCurrency;

    @ApiModelProperty ("结算币别")
    @TableField ("settlement_currency_code")
    private String settlementCurrencyCode;

    @ApiModelProperty ("汇率")
    @TableField ("rate")
    private String rate;

    @ApiModelProperty ("结算汇率")
    @TableField ("settlement_rate")
    private String settlementRate;

    @ApiModelProperty ("本位币")
    @TableField ("standard_currency")
    private String standardCurrency;

    @ApiModelProperty ("源单类型")
    @TableField ("source_doc_type")
    private Integer sourceDocType;

    @ApiModelProperty ("审批状态")
    @TableField ("state")
    private String state;

    @ApiModelProperty ("是否推金蝶")
    @TableField ("is_send")
    private Integer isSend;

    @ApiModelProperty ("流程实例id")
    @TableField ("instance_id")
    private String instanceId;

    @ApiModelProperty ("业务type")
    @TableField (exist = false)
    private String businessType;

    @ApiModelProperty ("流程模型id")
    @TableField (exist = false)
    private String modelId;

    @ApiModelProperty ("创建人")
    @TableField ("create_user_id")
    private String createUserId;

    @ApiModelProperty ("创建时间")
    @TableField ("create_date")
    private Date createDate;

    @ApiModelProperty ("更新人Id")
    @TableField ("update_user_id")
    private String updateUserId;

    @ApiModelProperty ("更新时间")
    @TableField ("update_date")
    private Date updateDate;

    @ApiModelProperty ("是否可用")
    @TableField ("is_used")
    private Integer isUsed;

    @ApiModelProperty ("结算组织")
    @TableField (exist = false)
    private String settlementCompanyName;

    @ApiModelProperty ("销售组织")
    @TableField (exist = false)
    private String saleCompanyName;

    @ApiModelProperty ("付款组织")
    @TableField (exist = false)
    private String payCompanyName;

    @ApiModelProperty ("币别")
    @TableField (exist = false)
    private String currencyName;

    @ApiModelProperty ("销售员名称")
    @TableField (exist = false)
    private String saleUserName;

    @ApiModelProperty ("销售部门名称")
    @TableField (exist = false)
    private String saleDeptName;

    @ApiModelProperty ("结算币别名称")
    @TableField (exist = false)
    private String settlementCurrencyName;

    @ApiModelProperty ("收款退款单明细行Id")
    @TableField (exist = false)
    private String receiptRefundDetailId;

    @ApiModelProperty ("明细行结算方式编码")
    @TableField (exist = false)
    private String detailSettlementTypeCode;

    @ApiModelProperty ("明细行原收款用途编码")
    @TableField (exist = false)
    private String detailReceiptPurposeCode;

    @ApiModelProperty ("明细行应退金额")
    @TableField (exist = false)
    private String detailCopeRefundMoney;

    @ApiModelProperty ("明细行实退金额")
    @TableField (exist = false)
    private String detailActualRefundMoney;

    @ApiModelProperty ("明细行现金折扣")
    @TableField (exist = false)
    private String detailCashDiscount;

    @ApiModelProperty ("明细行手续费")
    @TableField (exist = false)
    private String detailHandlingFees;

    @ApiModelProperty ("明细行长短款")
    @TableField (exist = false)
    private String detailLongShortPay;

    @ApiModelProperty ("明细行我方银行账号")
    @TableField (exist = false)
    private String detailBankNumber;

    @ApiModelProperty ("明细行现金账号")
    @TableField (exist = false)
    private String detailCashNumber;

    @ApiModelProperty ("明细行结算号")
    @TableField (exist = false)
    private String detailSettlementNumber;

    @ApiModelProperty ("明细行备注")
    @TableField (exist = false)
    private String detailRemarks;

    @ApiModelProperty ("明细行银行处理状态")
    @TableField (exist = false)
    private String detailBackProcessingStatus;

    @ApiModelProperty ("明细行提交银行状态")
    @TableField (exist = false)
    private String detailSubmitBankStatus;

    @ApiModelProperty ("明细行销售订单编码")
    @TableField (exist = false)
    private String detailSaleNo;

    @ApiModelProperty ("明细行销售订单行号")
    @TableField (exist = false)
    private String detailSaleLineNumber;

    @ApiModelProperty ("明细行物料编码")
    @TableField (exist = false)
    private String detailMaterialCode;

    @ApiModelProperty ("明细行含税单价")
    @TableField (exist = false)
    private String detailTaxPrice;

    @ApiModelProperty ("明细行数量")
    @TableField (exist = false)
    private String detailNum;

    @ApiModelProperty ("明细行费用项目编码")
    @TableField (exist = false)
    private String detailFeeCode;

    @ApiModelProperty ("明细行费用承担部门")
    @TableField (exist = false)
    private String detailFeeBearDeptCode;

    @ApiModelProperty ("明细行源收款单编码")
    @TableField (exist = false)
    private String sourceReceiptNo;

    @ApiModelProperty ("创建人姓名")
    @TableField (exist = false)
    private String createUser;

    @ApiModelProperty ("明细行结算方式名称")
    @TableField (exist = false)
    private String detailSettlementTypeName;

    @ApiModelProperty ("明细行原收款用途名称")
    @TableField (exist = false)
    private String detailReceiptPurposeName;

    @ApiModelProperty ("往来单位名称")
    @TableField (exist = false)
    private String transactionCompanyName;

    @ApiModelProperty ("收款单位名称")
    @TableField (exist = false)
    private String receiptDeptName;


    //送金蝶的编码
    @ApiModelProperty ("付款组织编码")
    @TableField (exist = false)
    private String payCompanyCode;

    @ApiModelProperty ("结算组织编码")
    @TableField (exist = false)
    private String settlementCompanyCode;

    @ApiModelProperty ("销售组织编码")
    @TableField (exist = false)
    private String saleCompanyCode;

    @ApiModelProperty ("销售部门编码")
    @TableField (exist = false)
    private String saleDeptCode;

    @ApiModelProperty ("销售员编码")
    @TableField (exist = false)
    private String saleUserCode;

    @ApiModelProperty ("收款单位编码")
    @TableField (exist = false)
    private String receiptDeptCode;

    @ApiModelProperty ("往来单位编码")
    @TableField (exist = false)
    private String transactionCompanyCode;


}
